package com.monkeyboy.my;

/**
 * 求x的幂次方
 *
 * @Author Gavin
 * @date 2021.04.09 12:02
 */
public class 幂 {
    public class Solution {
        public double Power(double base, int exponent) {
            if (base == 0.0) {
                return 0.0;
            }
            // 前置结果设为1.0，即当exponent=0 的时候，就是这个结果
            double result = 1.0d;
            // 获取指数的绝对值
            int e = exponent > 0 ? exponent : -exponent;
            // 根据指数大小，循环累乘
            for (int i = 1; i <= e; i++) {
                result *= base;
            }
            // 根据指数正负，返回结果
            return exponent > 0 ? result : 1 / result;
        }
    }
}
